package com.egao.common.module.visitorsQuestionnaire.service.impl;

import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.egao.common.core.exception.BusinessException;
import com.egao.common.module.visitorsQuestionnaire.entity.VisitorsQuestionnaire;
import com.egao.common.module.visitorsQuestionnaire.mapper.VisitorsQuestionnaireMapper;
import com.egao.common.module.visitorsQuestionnaire.service.VisitorsQuestionnaireService;
import org.springframework.stereotype.Service;

/**
 * @author lym
 * @date 2024/6/13 17:19
 */
@Service
public class VisitorsQuestionnaireServiceImpl extends ServiceImpl<VisitorsQuestionnaireMapper, VisitorsQuestionnaire> implements VisitorsQuestionnaireService {

    @Override
    public void saveVq(VisitorsQuestionnaire visitorsQuestionnaire) {
        if (StrUtil.isBlank(visitorsQuestionnaire.getXm())
                || StrUtil.isBlank(visitorsQuestionnaire.getZjlx())
                || StrUtil.isBlank(visitorsQuestionnaire.getZjh())
        ) {
            throw new BusinessException("参数异常");
        }

        if ("居民身份证".equals(visitorsQuestionnaire.getZjlx())) {
            if (!IdcardUtil.isValidCard(visitorsQuestionnaire.getZjh())) {
                throw new BusinessException("证件号格式不正确");
            }
        }

        baseMapper.delete(new LambdaQueryWrapper<VisitorsQuestionnaire>().eq(VisitorsQuestionnaire::getZjh, visitorsQuestionnaire.getZjh()));

        baseMapper.insert(visitorsQuestionnaire);
    }

}
